package com.company.cloud.mall.modules.app.service;

import com.company.cloud.common.bean.LoginSimpleUserInfo;
import com.company.cloud.mall.constant.ShopConstant.PayConfirmWay;
import com.company.cloud.mall.modules.api.response.OrderReturnsModel;
import com.company.cloud.mall.modules.app.controller.req.OrderReturnsApplyParam;
import com.company.cloud.mall.modules.app.controller.req.OrderReturnsCheckParam;
import com.company.cloud.mall.modules.app.controller.req.OrderReturnsReceiveParam;
import com.company.cloud.mall.modules.app.controller.req.OrderReturnsRefundParam;
import com.company.cloud.mall.modules.app.controller.req.OrderReturnsSendParam;

public interface ShopAfterSaleReturnsService {

	/**新增*/
	public void add(OrderReturnsApplyParam params,LoginSimpleUserInfo userInfo);
	
	/**撤销*/
	public void cancel(String sn,LoginSimpleUserInfo userInfo);
	
	/**审核*/
	public void check(OrderReturnsCheckParam params,LoginSimpleUserInfo userInfo);
	
	/**发货*/
	public void send(OrderReturnsSendParam params, LoginSimpleUserInfo userInfo);
	
	/**收货*/
	public void receive(OrderReturnsReceiveParam params, LoginSimpleUserInfo userInfo);
	
	/**退款*/
	public void refund(OrderReturnsRefundParam params, LoginSimpleUserInfo userInfo);
	
	
	/**退款回调*/
	public void callbackRefund(String sn,String refundSN,String refundState,
			String thirdrefundState,PayConfirmWay confirmChannel, LoginSimpleUserInfo userInfo);
	
	/**退款完成*/
	public void complete(String sn,LoginSimpleUserInfo userInfo);
	
	/**获取*/
	public OrderReturnsModel get(String sn);
	
}
